<?php
/**
 * WSCORE Base Controller
 * @author wsfuyibing <websearch@163.com>
 * @package [PATH]project/controller
 * @date 2014-07-05
 */
defined('WSCORE') || exit('Access-Denied');
/**
 * 公共控制器
 * @note 报错, Render等公共处理
 */
class BaseController extends CController {
	/**
	 * 属性描述
	 * @property public array $SEO, SEO三要素
	 *                        string title, 标题
	 *                        string keywords, 关键词
	 *                        string description, 描述
	 * @property public array $USER, 用户账号
	 *                        int uid, 编号
	 *                        string username, 用户名
	 */
	public $SEO = array();
	public $USER = array('uid' => 0, 'username' => 'Guest', 'usertype' => 0);
	/**
	 * 全局初始化
	 */
	public function init(){
		parent::init();
		/**
		 * 用户状态
		 */
		$u = M('user')->status(); if (wsc::isarr($u, 'uid', '>0')){
			$this->USER = & $u;
		};
	}
	/**
	 * 视图载入之后
	 */
	protected function afterRender($view, & $output){
		$output = preg_replace("/\<\/form\>/i", wsc::ispostspam().'</form>', $output);
	}
	/**
	 * 错误处理
	 */
	public function actionError(){
		$error = Yii::app()->errorHandler->error;
		$this->renderFile(WSCORE_PATH . '/error/index.php', array(
			'error' => & $error
		));
	}
	/**
	 * 先控制器过滤
	 */
	protected function beforeAction($p){
		return true;
	}
	/**
	 * 视图VIEW载入前
	 */
	protected function beforeRender($view){
		/**
		 * 按ROUTE读取SEO
		 */
		$route = $this->getRoute();
		$route && $this->SEO = wsc::seoload($route);
		return true;
	}
}